Wireless communication among electronic devices has been increasing as the benefits and conveniences of wireless communication become more preferred. A wireless communication system or wireless network is often described as containing nodes (or more precisely, circuitry associated with the concept of a node) and a wireless medium (WM) over which the nodes' circuitry communicate to convey information. Where some action or activity is described as happening at (or being done at) a node, it should be understood that the electronic device and/or network interface that is at (or simply is) the node is the circuitry that is performing the action or activity. For example, sending data from node A to node B means transmitting a signal from circuitry associated with node A and receiving that signal (or more precisely, the transmitted signal modified by the medium) using circuitry associated with node B.
The information conveyed between nodes can be digital data and digitized analog signals, or other forms of information, but communication system design often assumes that digital data is being conveyed and higher network layers interpret the data appropriately. For purposes herein, it is assumed that data exists at one node, is provided to lower network layers, is conveyed to another node over a WM, is received by another node correctly or incorrectly and then is conveyed to upper network layers at the receiver. In one model, two networked devices run applications that pass data between themselves by having the sending device's application convey data to an application layer of a network stack, which conveys data to lower levels, ultimately to a medium access control (MAC) layer and a physical network (PHY) layer, and the process is inverted at the recipient.
To set up a wireless network, all that is needed is a plurality of electronic “node” devices capable of transmitting and receiving data in a manner understood by the two (or more) nodes involved in a conversation, with the node devices appropriately placed such that they can communicate in the medium that exists between the devices. The medium could be some type of dielectric material, but more commonly, the medium is the air space and objects (walls, chairs, books, glass. etc.) that are between devices or are positioned such that they have an effect on the signals transmitted between devices. Presumably, the node devices are assigned unique identifiers to distinguish transmissions, but this might not always be necessary. Examples of such unique identifiers are MAC addresses and IP addresses.
As the existence of various wireless media and their properties are known and are not the focus of this disclosure, the medium is often just shown in the attached figures as a cloud. Thus, it should be understood that supplier of a set of two or more powered devices that can communicate supplies a wireless network; the wireless medium is presumed.
Wireless communication systems can be categorized based on coverage range, which in some cases is dictated by use. A wireless local area network or “WLAN”, has a typical coverage range on the order of 300 feet and is useful for providing communications between computing devices in some (possibly loosely) defined space such as a home, office, building, park, airport, etc. In some modes of operation, one or more of the nodes is coupled to a wired network to allow other nodes to communicate beyond the wireless network range via that wired network. In 802.11 terminology, such nodes are referred to as “access points” and the typical protocol is such that the other nodes (referred to as “stations”) associate with an access point and communication is generally between a station and an access point. Some wireless networks operate in an “ad hoc” mode, wherein node devices communicate with each other without an access point being present.
A personal area network or “PAN” is a short-range wireless network, with typical coverage ranges on the order of 30 feet, usable to connect peripherals to devices in close proximity, thereby eliminating cables usually present for such connections. For example, a PAN might be used to connect a headset to a mobile phone or music/audio player, a mouse or keyboard to a laptop, a PDA or laptop to a mobile phone (for syncing, phone number lookup or the like), etc. Yet another example of a wireless PAN application is wireless medical monitoring devices that wirelessly connect monitoring hardware to a pager or similar read-out device. Yet another example is a remote control that connects to a wireless-enabled electronic device.
Some networks might fall in a gray area between a WLAN and a PAN, but in many cases, a network is clearly one or the other. A personal area network (PAN) is generally used for the interconnection of information technology devices within the range of an individual person, typically within a range of 10 meters. For example, a person traveling with a laptop will likely be the sole user of that laptop and will be the same person handling the personal digital assistant (PDA) and portable printer that interconnect to the laptop without having to plug anything in, using some form of wireless technology. Typically, PAN nodes interact wirelessly, but nothing herein would preclude having some wired nodes. By contrast, a wireless LAN tends to be a local area network (LAN) that is connected without wires and serves multiple users.
Equipment connecting to a wireless communication system in general, and to a wireless PAN communication system in particular, is typically used for applications where power usage, weight, cost and user convenience are very important. For example, with laptops, low-cost accessories are preferable, and it is critical that the power usage of such accessories be minimized to minimize the frequency at which batteries need to be replaced or recharged. The latter is a burden and annoyance to the user and can significantly reduce the seamless user experience.
Weight and complexity are additional concerns in many wireless communication systems. Particularly with mobile devices such as laptops, weight is a concern and the user would rather not have to deal with the hassle of carrying around a multiplicity of devices. Mobile devices are devices that can be expected to be in use while moving, while portable devices are devices that are movable from place to place but generally are not moving when in use. The considerations for mobile devices also apply to portable devices, albeit sometimes with less of a concern. For example, with a wireless connection of a peripheral to a laptop, both devices are likely to be used while mobile or moved frequently and carried around. Thus, weight and the number of devices is an important consideration. With portable devices, such as a small desktop computer with a wireless trackball, as long as the total weight is below a user's carrying limit, the weight is not as much a concern. However, battery life is often as much a concern with portable devices as it is with mobile devices.
There are shades of grey between “portable” and “mobile” and it should be understood that the concerns of mobile applications and portable applications can be considered similar, except where indicated. In other words, a mobile device can be a portable device in the examples described herein.
Where a computing and/or communication device connects to a WLAN, it uses wireless circuitry that often times are already built into the computing device. If the circuitry is not built in, a WLAN card (such as a network interface card, or “NIC”) might be used. Either way, some antenna circuitry is used and power is required to run that circuitry.
Where a device also connects wirelessly to peripherals or other devices over short links often referred to as forming a “personal area network” or “PAN”, circuitry is needed for that connection as well. This circuitry is typically provided with an external interface unit that is plugged into or onto the device. For example, where the device is a laptop, the circuitry might be provided by a Universal Serial Bus (USB) dongle that attaches to a USB port of the laptop. The USB dongle contains the radio circuitry needed to communicate wirelessly over the short wireless links.
In general, a wireless connection between two or more devices requires that each device include wireless network circuitry for conveying signals over the medium and receiving signals over the medium, as well as processing/communication circuitry to receive, process and/or convey data and/or signals to that wireless network circuitry. The processing/communication circuitry could be implemented with actual circuits, software instructions executable by a processor, or some combination thereof. In some variations, the wireless network circuitry and processing/communication circuitry are integrated (such as with some PDAs, wireless mice, etc.) or are separate elements (such as a laptop as the processing/communication circuitry and a network PCMCIA card as the wireless network circuitry).
For ease of understanding this disclosure, where it is important to make the distinction between devices, a device that exists to provide wireless connectivity is referred to as a “network interface”, “network interface device”, “wireless network interface device” or the like, while the device for which the wireless connectivity is being provided is referred to as a “computing device” or an “electronic device” notwithstanding the fact that some such devices do more than just compute or might not be thought of as devices that do actual computing and further notwithstanding the fact that some network interface devices themselves have electronics and do computing. Some electronic devices compute and communicate via an attached network interface device while other electronic devices might have their network interface devices integrated in a non-detachable form. Where an electronic device is coupled to a wireless network interface to a wireless network, it is said that the device is a node in the network and thus that device is a “node device”.
An 802.11x (x=a, b, g, n, etc.) NIC (network interface card) or 802.11x built-in circuitry might be used for networking an electronic device to the outside world, or at least to devices at other nodes of a WLAN 802.11x network, while using an external dongle or a similar interface device with Bluetooth or proprietary wireless circuitry for communication between the computing device and the peripheral or other PAN node.
A device that is equipped with an 802.11x-conformant network interface to the WM is herein referred to as a station or “STA”. In 802.11 terminology, set of STAs constitutes a Basic Service Set (“BSS”). A set of STAs that communicate in a peer-to-peer configuration is referred to as an “802.11x ad-hoc” network or an independent BSS (IBSS). A set of STAs controlled by a single coordinator is referred to as an 802.11x infrastructure network. The coordinator of a BSS is herein referred to as the access point or “AP”.
A typical access point device is wired to a wired network and is also wired to an external source of electricity, such as being plugged into a wall socket or wired to a building's power grid. For example, a building, an airport or other space people might occupy might have fixed access points mounted throughout the space to provide adequate network coverage for the purpose of providing access to the Internet or other network for the people occupying the space, via their portable or mobile devices. As such, access points are typically always on so that the wireless network is available whenever suitable portable or mobile devices are carried into the space.
The use of different technologies for WLAN and wireless PAN connectivity increases cost, weight and power usage (at the COORD side and/or the PER side), and impairs a seamless user experience. Those disadvantages could be resolved by equipping the peripheral or PAN nodes with 802.11x wireless circuitry, thus eliminating the dedicated PAN technologies altogether. However, PAN nodes are often very power-sensitive devices. They usually are battery-operated devices and their small form factor prohibits the use of bulky batteries with large capacity. Instead, small batteries with limited power capacity are used. Such peripherals cannot typically support the power usage requirements typical of WLAN wireless circuitry, such as 802.11x circuitry. A host of other difficulties are present in view of the optimizations, goals and designs of differing network protocols.
Another drawback is that independent LANs and PANs may interfere if they share a common frequency band.
Because of the arrangement of devices, having consistent timebases is important. In many communication systems or networks, it is desirable to have two or more electronic devices that are communicating with each other to be synchronized to a common timebase.
As used herein, “master timer” refers to a circuit, code and/or logic that maintains this common timebase, and “synchronization” refers to a process whereby a timebase of one device is set into a known relationship with the timebase of another device, remote therefrom, having the master timer. The relationship can be that the timebases are set equal, or at least within a tolerance needed for a particular purpose.
Synchronization of electronic devices that are part of a communication system or network has several advantages. As an example, a common timebase may be used by one electronic device that is part of a communication system to agree on a time for exchange of data and/or control information or any other “communication event”, with one or more other electronic devices that are part of the system. A communication event that includes the exchange of synchronization information is herein referred to as a “synchronization event.”
A communication system implementing synchronization may comprise a first electronic device that is part of the communication system and that generates, maintains and/or implements the master timer, herein referred to as the “master device.” One or more additional electronic devices, that are also part of the communication system and whose local timebases are occasionally adjusted to match that of the master timer are referred to herein as “slave devices.” It should be noted that a device might be a master device, which is a master for timing purposes, but might be a slave for other purposes. For example, if two devices have a goal to mirror some data, one device has the master copy of the data and the other has the slave (mirrored) copy. The master device (for timing purposes) might be the device that is the data slave.
A master device might be a computing device having an attached wireless module that includes a wireless interface to the wireless medium. The computing device might include a detachable wireless module, and integrated wireless module, or circuitry that performs the wireless functions and other functions, but generally the wireless module has a clock usable for the master timebase. A common example is a computer (e.g., laptop, handheld, etc.) having a wireless network card or module. The wireless network card or module includes various components, such as I/O for communicating with the computer, a power bus, memory, a processor, logic or code to execute, a clock and so forth, and a wireless interface for transmitting signals into the wireless medium and for receiving signals from the wireless medium.
One example of a communication system that uses synchronization is a Wireless Local Area Network or “WLAN”. Other examples include wired networks, optical networks, etc. Slightly different synchronization mechanisms exist, depending on whether the WLAN is configured in infrastructure or ad-hoc mode. For a WLAN configured in infrastructure mode, the electronic devices that comprise the WLAN, herein referred to as stations or “STAs”, use a common timebase for coordinating events. The AP is a regular STA, but with additional functionality. The timer inside the AP acts as the master timer, and hence the AP is the master device of the network. All other STAs of the WLAN occasionally update their local timebase to match that of the WLAN's AP. All other STAs are therefore slave devices. To make it possible for STAs of an infrastructure network to be synchronized to the AP's timebase or master timer, the AP regularly transmits a particular type of packet, referred to as a beacon, that includes an accurate timestamp of the master timer at the exact time of beacon transmission. STAs that receive the beacon process the timestamp in the beacon and update their local timer to match the master timer. The above mentioned technique is a commonly used synchronization technique.
An important limitation of the above mentioned synchronization scheme is that it relies on the ability of the beacon transmitter to obtain and include an accurate timestamp of the master timer at the exact time of a beacon transmission or at least a determinable relationship thereto. Error or uncertainty in the generation of the timestamp or delay introduced between the generation of the timestamp and the transmission of the beacon may cause a synchronization error and may directly degrade the accuracy of the synchronization method, which in turn may result in problems among the devices. As a result, in order to achieve accurate synchronization with the above mentioned synchronization method, access to the master timer at a very low level in the system may be required. For example, in a WLAN-based communication system, the master timer might have to be available to the hardware or low-level firmware that directly generates and controls the transmission of packets over the air. Indeed, in a WLAN-based communication system, the transmission of a beacon may be delayed because of other traffic on the wireless medium. This delay is highly variable and may easily be on the order of several milliseconds. If the timestamp were generated at a higher level in the system, where there is no knowledge of medium contention or back off mechanisms implemented to avoid collisions on the wireless medium, the above described synchronization method would only be able to achieve milliseconds level of accuracy, whereas higher levels of accuracy are typically desirable.